package com.smart.service.business;

import com.smart.entity.business.ChannelEntity;
import com.smart.entity.business.CollectorEntity;
import com.smart.entity.business.ConnectDTO;
import com.smart.mybatis.service.BaseService;
import com.smart.entity.business.PointEntity;

import java.util.List;
import java.util.Map;

/**
 * 点位配置 Service
 *
 * @author wf
 * @since 2025-07-14 11:00:13
 */
public interface PointService extends BaseService<PointEntity> {

    List<PointEntity> getPointList(String id, String meterTypeId, String name, String code, int current, int size);

    List<CollectorEntity> unConnectCollector();

    PointEntity savePoint(PointEntity pointEntity);

    PointEntity setConnectStatus(ConnectDTO connectDTO);

    List<ChannelEntity> getUnConnectChannels(String collectorId);

    String disConnect(String id);

    boolean deletePoints(List<String> deleteIds);

    Map<String, Object> getList(String pointId, String startTime, String endTime, String frequency, int current, int size);

    List<Map<String,Object>> getPointMessage();

    List<Map<String,Object>> getBarChartData(String meterTypeId, String startTime, String endTime);

    Map<String,Object> getTimeConsumption(String meterTypeId);

    List<Map<String,Object>> getPieChartData();

    List<Map<String,Object>> getCompanyMeterType();

    PointEntity setDisable(String pointId, int isDisable);
}

